The amount of data representing media information, such as a still image and video image, can be extremely large. Further, transmitting digital video information over communication networks can consume large amounts of bandwidth. The cost of transmitting data from one location to another can be a function of number of bits transmitted per second. Typically, higher bit transfer rates are associated with increased cost. Higher bit rates also can progressively add to required storage capacities of memory systems, which can thereby increase storage cost. Thus, at a given quality level, it can be much more cost effective to use fewer bits, as opposed to more bits, to store digital images and videos. It therefore can be desirable to compress media data for recording, transmitting, or storing.
For a typical compression scheme, achieving higher media quality can require that more bits be used, which can, in turn, increase cost of transmission and/or storage. While lower bandwidth traffic may be desired so may higher quality media.
An encoder is a device capable of encoding (e.g., coding), and sometimes also decoding, digital media data. A decoder is a device capable of decoding digital media data. A codec is a device capable of coding and/or decoding digital media data. The term codec is derived from a combination of the terms code and decode, or the terms compress and decompress. A variety of codecs are commercially available. Codec classifications can include, for example, discrete cosine transfer codecs, fractal codecs, and wavelet codecs. An encoder or codec, by encoding the digital media data, can reduce the number of bits required to transmit signals, which can thereby reduce associated transmission costs.
Sparse coding is a coding technique that is potentially useful in improving video compression coding efficiency. In sparse coding, there can be a dictionary of elements, which may be trained based on offline images or video frames. The dictionary elements can be used to facilitate coding (e.g., sparse coding) of video content. Generally, the more accurate a dictionary is in representing video content to be coded, the more useful sparse coding can be in compressing the video content. Conversely, the less accurate a dictionary is in representing the video content to be coded, the more diminished the value of sparse coding may be in compressing the video content. Conventional dictionaries trained from generic images or video frames can be less optimal or accurate with regard to representing video content to be coded, may not be able to cover a wide variety of video compression scenarios, and can be inefficient in compressing video content.